package com.py.credit.service;

import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.py.credit.entity.AuthorizonConfig;
import com.py.credit.entity.AuthorizonConfigModel;
import com.py.credit.entity.Database;
import com.py.credit.entity.TableResult;
import com.py.framework.core.common.Page;
import com.py.framework.core.entity.SysUserEntity;

public interface AuthorizationConfigService {

	int add(AuthorizonConfig authorizonConfig, String cubes, String subjects);

	void delete(int id);

	List<Map<String, Object>> getAuthorizonSubjectList(Long id, String kId, String keyword);

	List<Map<String, String>> getAuthorizonCubeList(Long id, String kId);

	void update(AuthorizonConfig authorizonConfig);

	List<TableResult> getDetail(int kId, String keword, String[] auTableName, String userName,String deptName);

	List<Map<String, Object>> getByConditionForPage(String userName, List<String> showColumns, String[] additionalColumns,
			String condition, Page page);

	Map<String, Object> getAuthDetail(int id);

	List<Map<String, String>> getSharingContentCubesByType(String type);

	Set<String> parseFileToDB(String filePath, List<SysUserEntity> allUser, List<Map<String, String>> cubes,
			List<Database> dbList, String fileName) throws IOException;

	AuthorizonConfig getById(int id);

	Set<String> add(Map<String, AuthorizonConfigModel> assmableData, String fileName);

	void updateApplyStatusByID(String id,String apply_status, String shyj);

	List<Map<String, String>> selectShdataForPage(String applicant_name, String deptname, String apply_dept_name,Page page);

}
